
##---- Social groups dictionary ------#
# This file creates the full social groups dictionary as used in
# "Supply-side dynamics of group appeals: How dominance affects 
# parties' choice between symbolic and policy-based appeals" (2025)

# load quanteda package
library(quanteda)

# NOTE: The "condolence" category creates a residual category which allows
# us to identify a very common false positive: tweets mentioning groups like
# "families", "police", "parents" etc. but which are actually condolence tweets
# and not actually talk about these groups as groups.

# Create dictionary
dict_groups <- dictionary(list(
  students = c("studierende",
            "studentinnen", 
            "student innen", 
            "studenten"),
  parents = c("eltern", 
            "mütter", 
            "väter"),
  unemployed = c("arbeitslose",
                "erwerbslose", 
                "hartz iv empf*",
                "hartz-iv empf ", 
                "arbeitssuchende", 
                "langzeitarbeitslose",
                "langzeiterwerbslose",
                "alg ii bezieher*",
                "alg bezieher"),
  women = c("frauen"),
  lgbt = c("lgbt", 
          "homosexuelle", 
          "lesben", 
          "schwule", 
          "queere", 
          "trans",
          "transpersonen", 
          "transfrauen", 
          "transmänner", 
          "lsbttiq", 
          "lsbt*"),
  trainees = c("auszubildende", 
            "azubis"),
  employees = c("arbeitnehmer", 
                        "arbeitnehmer innen", 
                        "beschäftigte", 
                        "arbeitnehmerinnen", 
                        "arbeitnehmern",
                        "beschäftigten"),
  employers = c("arbeitgeber ", 
                       "arbeitgeber innen", 
                       "arbeitgeberinnen", 
                       "arbeitgebern"),
  entrepreneurs = c("unternehmer",
                  "unternehmer innen", 
                  "unternehmerinnen",
                  "selbstständige", 
                  "gründer", 
                  "gründerinnen",
                  "gründer innen", 
                  "unternehmern", 
                  "gründern"),
  elderly = c("seniorinnen", 
                  "senioren", 
                  "senior innen",
                  "alte menschen",
                  "rentner innen", 
                  "rentnerinnen", 
                  "rentner",
                  "menschen im höheren alter",
                  "ältere menschen"),
  migrants = c("migranten", "migrantinnen", "migrant innen",
                   "zuwanderer", "zuwanderinnen", 
                   "einwanderinnen",
                   "einwanderer", 
                   "zugewanderte",
                   "eingewanderte",
                   "ausländer", "ausländerinnen", "eu-ausländer",
                   "eu-ausländerinnen","eu-ausländer innen",
                   "menschen mit migrationshintergrund", 
                   "gastarbeiter",
                   "gastarbeiter innen",
                   "deutschtürken",
                   "deutschtürkinnen",
                   "russlanddeutsche",
                   "afrodeutsche"),
  farmers = c("landwirte", 
                    "landwirt innen",
                    "bauern",
                    "bäuerinnen", 
                    "landwirten"),
  single_parents = c("alleinerziehende",
                      "alleinerziehenden"),
  teachers = c("lehrer" ,
                 "lehrkräfte", 
                 "lehrerinnen", 
                 "lehrern", 
                 "lehrer innen",
                 "lehrkräften"),
  youth = c("jugendliche",
                 "erstwähler",
                 "junge menschen",
                 "erstwählerinnen", 
                 "schüler innen", 
                 "schüler", 
                 "schülerinnen",
                 "junge leute",
                 "schülern", 
                 "jungen Leuten", 
                 "erstwählern"),
  police = c("polizisten", 
                   "polizist innen",
                   "polizeibeamte",
                   "polizistinnen", 
                   "polizei"),
  workers = c("arbeiter", 
                    "arbeiter innen",
                    "arbeiterinnen", 
                    "leiharbeiter",
                    "leiharbeiterinnen", 
                    "leiharbeiter innen", 
                    "arbeitern", 
                    "leiharbeitern"),
  artists = c("künstler" ,
                    "künstler innen", 
                    "künstlerinnen",
                    "kreativschaffende", 
                    "kulturschaffende", 
                    "künstlern"),
  families = c("familie", 
               "familien"),
  disabled = c("menschen mit behinderung*", 
               "behinderte menschen",
               "menschen mit körperlich  beeinträchtigung ", 
               "gehbehinderte", 
               "menschen mit behinderungen",
               "menschen mit down syndrom",
               "*behinderte menschen",
               "menschen mit handicap",
               "menschen mit beeinträchtigung",
               "behinderte"),
  cardrivers = c("autofahrer",
                 "autofahrerinnen",
                 "autofahrende",
                 "autofahrer innen", 
                 "menschen die auf das auto angewiesen sind", 
                 "autofahrern"),
  feminists = c("feministinnen",
                    "feminist innen",
                    "feministen"),
  tenants = c("mieterinnen", 
                  "mieter", 
                  "menschen die zur miete wohnen",
                  "mieter innen", 
                  "mietern"),
  landlords = c("vermieterinnen", 
                     "vermieter", 
                     "vermieter innen", 
                     "vermietern"),
  condolence = c("trauer ", 
                 "anschlag", 
                 "tod", 
                 "beileid", 
                 "angehörigen")
)
)

# save and export dictionary object
save(dict_groups, file= "Data/dict_groups.RData")





